package com.fowo.api.model.product.ingredients;

import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import com.fowo.api.common.validator.*;
import io.swagger.v3.oas.annotations.media.Schema;
import javax.validation.constraints.*;
import lombok.Getter;
import lombok.Setter;

/**
 * 关联辅料表 预览导入辅助模型(全字段为文本类型)
 * @author yl_ls
 */
@Getter
@Setter
public class ProductIngredientsImportPo {

  /** 所属辅料管理 */
  @ExcelProperty("所属辅料管理")
  @Size(max = 500, message = "所属辅料管理长度不能超过500")
  private String accessoriesIdName;

  @ExcelIgnore
  @Schema(title = "所属辅料管理")
  private String accessoriesId;

  /** 所属产品 */
  @ExcelProperty("所属产品")
  @Size(max = 500, message = "所属产品长度不能超过500")
  private String productIdName;

  @ExcelIgnore
  @Schema(title = "所属产品")
  private String productId;

  /** 产品SKU */
  @ExcelProperty("产品SKU")
  @Size(max = 50, message = "产品SKU长度不能超过50")
  private String productSku;

  /** 产品名称 */
  @ExcelProperty("产品名称")
  @Size(max = 50, message = "产品名称长度不能超过50")
  private String productName;

  /** 辅料名称 */
  @ExcelProperty("辅料名称")
  @Size(max = 50, message = "辅料名称长度不能超过50")
  private String accessoriesName;

  /** 辅料Sku */
  @ExcelProperty("辅料Sku")
  @Size(max = 50, message = "辅料Sku长度不能超过50")
  private String accessoriesSku;

  /** 单位成本 */
  @ExcelProperty("单位成本")
  @DecimalString(message = "单位成本小数格式不正确", label = "单位成本")
  private String purchaseCost;

  /** 主料数量 */
  @ExcelProperty("主料数量")
  @IntegerString(message = "主料数量数值格式不正确", label = "主料数量")
  private String accessoriesQuantity;

  /** 辅料数量 */
  @ExcelProperty("辅料数量")
  @IntegerString(
    message = "辅料数量数值格式不正确",
    label = "辅料数量",
    min = 0
  )
  private String producQuantity;

  /** 备注 */
  @ExcelProperty("备注")
  @Size(max = 50, message = "备注长度不能超过50")
  private String remark;
}
